package com.chinawayltd.ews.sample.service.basicInfo;

import java.util.List;
import java.util.Map;

import com.chinawayltd.ews.sample.model.TShift;
import com.chinawayltd.ews.sample.model.basicInfo.ShiftVO;
import com.chinawayltd.ews.sample.util.PageData;
import com.chinawayltd.ews.sample.util.excel.ExcelObjModel;
import com.chinawayltd.ews.sample.web.query.ShiftGirdQuery;

/**
 * @program: greeProject
 * @description 班次管理
 * @author: chenxin
 * @create: 2018年4月11日 下午4:06:26
 */
public interface ShiftService {

	/**
	 * 根据查询条件与分页信息查询列表
	 * @author: chenxin
	 * @date: 2018年4月11日
	 * @param queryParam
	 * @return
	 */
	List<ShiftVO> listShiftByPage(ShiftGirdQuery queryParam);	
    /**
     * 根据id查找不可用车型
     * @param id
     * @return
     */
    TShift selectTShift(Long id) throws Exception;

    /**
     * 新增
     * @param tBranchUnVehcle
     */
    int addTShift(TShift tShift);

    /**
     * 修改
     * @param tBranchUnVehcle
     */
    int updateTShift(TShift tShift);

    /**
     * 删除
     * @param id
     */
    int deleteTShift(long id);
    /**
     * 模糊查询
     * @author: chenxin
     * @date: 2018年4月12日
     * @param shiftId
     * @param shiftName
     * @return
     */
	List<TShift> listShiftByName(Long shiftId, String shiftName);
	/**
	 * 通过名称或id查询
	 * @author: chenxin
	 * @date: 2018年4月12日
	 * @param shiftId
	 * @param shiftName
	 * @return
	 */
	List<TShift> getShiftByNameAndId(Long shiftId, String shiftName);
	
    /**
     * 批量删除
     * @author: chenxin
     * @date: 2018年4月16日
     * @param ids
     * @return
     */
	int deletesByIds(String[] ids);
	
	/**批量导入班次信息
	 * @author Fay
	 * @date 2018年5月3日 上午11:01:47
	 * @param list
	 * @return
	 */
	ExcelObjModel insertList(List<PageData> list) throws Exception;
	
	/**判断新增的班次是否跟数据里面的班次冲突
	 * @author Fay
	 * @date 2018年5月12日 下午2:58:23
	 * @param shift
	 * @return
	 */
	boolean judgeTimeConflict(TShift shift);
	
	/**导出班次信息
	 * @author Fay
	 * @date 2018年5月24日 上午11:31:57
	 * @param queryParam
	 * @return
	 */
	List<Map<String, Object>> exportGirdData(ShiftGirdQuery queryParam);
}
